medusa-variant-images-updated
Version:
A variant images plugin for Medusa V2.
66 lines • 6.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DELETE = exports.POST = exports.GET = void 0;
const utils_1 = require("@medusajs/framework/utils");
const variant_images_settings_1 = require("../../../../modules/variant-images-settings");
// Route: Get variant by ID
const GET = async (req, res) => {
const variantImageService = req.scope.resolve(variant_images_settings_1.VARIANT_IMAGES_SETTINGS_MODULE);
const { id } = req.params;
const variantImage = await variantImageService.getById(id);
if (!variantImage) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Variant Image with ID ${id} not found.`);
}
return res.status(200).json(variantImage);
};
exports.GET = GET;
// Route: Update variant image by ID
const POST = async (req, res) => {
const variantImageService = req.scope.resolve(variant_images_settings_1.VARIANT_IMAGES_SETTINGS_MODULE);
const { id } = req.params;
const variantImageData = req.body;
const variantImage = await variantImageService.getById(id);
if (!variantImage) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Variant Image with ID ${id} not found.`);
}
if (!variantImageData.variant_id) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Variant id must be provided for updating variant image.`);
}
try {
const updatedVariantImage = await variantImageService.updateById(id, variantImageData);
return res.status(200).json(updatedVariantImage);
}
catch (error) {
console.error("Error updating variant image", error);
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Error updating variant image.");
}
};
exports.POST = POST;
// Route: Delete variant image by ID
const DELETE = async (req, res) => {
const variantImageService = req.scope.resolve(variant_images_settings_1.VARIANT_IMAGES_SETTINGS_MODULE);
const { id } = req.params;
let ids = [];
// Accept ids from body if present and is an array, otherwise fallback to id param
if (req.body &&
typeof req.body === "object" &&
Array.isArray(req.body.ids)) {
ids = req.body.ids;
}
else if (id) {
ids = [id];
}
if (!ids.length) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "No ids provided for deletion.");
}
try {
const response = await variantImageService.deleteById(ids.map(Number));
return res.status(200).json(response);
}
catch (error) {
console.error("Error deleting variant image(s)", error);
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Error deleting variant image(s).");
}
};
exports.DELETE = DELETE;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3ZhcmlhbnQtaW1hZ2VzL1tpZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQXdEO0FBQ3hELHlGQUE2RjtBQU83RiwyQkFBMkI7QUFDcEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ2pFLE1BQU0sbUJBQW1CLEdBQWlDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHdEQUE4QixDQUFDLENBQUM7SUFDNUcsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDMUIsTUFBTSxZQUFZLEdBQUcsTUFBTSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2hCLE1BQU0sSUFBSSxtQkFBVyxDQUFDLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSx5QkFBeUIsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQUM7QUFUVyxRQUFBLEdBQUcsT0FTZDtBQUVGLG9DQUFvQztBQUM3QixNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsR0FBa0IsRUFBRSxHQUFtQixFQUFFLEVBQUU7SUFDbEUsTUFBTSxtQkFBbUIsR0FBaUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsd0RBQThCLENBQUMsQ0FBQztJQUM1RyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUMxQixNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxJQUF3QixDQUFD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